#!/bin/sh
set -e

# 停止并禁用用户服务
for user_home in /home/*; do
    if [ -d "$user_home" ]; then
        username=$(basename "$user_home")
        if id "$username" >/dev/null 2>&1; then
            # 检查用户是否有活跃的systemd用户会话
            if sudo -u "$username" systemctl --user is-system-running >/dev/null 2>&1; then
                # 用户有活跃会话，可以正常停止服务
                sudo -u "$username" systemctl --user stop fcitx5-monitor.service >/dev/null 2>&1 || true
                sudo -u "$username" systemctl --user disable fcitx5-monitor.service >/dev/null 2>&1 || true
            else
                # 用户没有活跃会话，尝试通过环境变量方式操作
                # 获取用户的运行时目录
                user_id=$(id -u "$username")
                export XDG_RUNTIME_DIR="/run/user/$user_id"
                
                # 检查运行时目录是否存在
                if [ -d "$XDG_RUNTIME_DIR" ] && [ -w "$XDG_RUNTIME_DIR" ]; then
                    sudo -u "$username" systemctl --user stop fcitx5-monitor.service >/dev/null 2>&1 || true
                    sudo -u "$username" systemctl --user disable fcitx5-monitor.service >/dev/null 2>&1 || true
                fi
            fi
            
            # 删除用户的服务文件和脚本（无论服务是否成功停止）
            rm -f "$user_home/.config/systemd/user/fcitx5-monitor.service"
            rm -f "$user_home/.local/bin/fcitx5-monitor.sh"
        fi
    fi
done

# 卸载后删除日志文件，避免残留
rm -rf /home/*/.local/share/fcitx5-monitor* 2>/dev/null || true
rm -rf /etc/skel/.local/share/fcitx5-monitor* 2>/dev/null || true

exit 0